1. Field of the Invention
The present invention relates to a router that connects communication networks and to transfer frames, and also to a frame transfer method used in the router.
2. Description of the Related Art
Routers, which are used for connecting different local area networks (LANs), transfer datagrams from one LAN to another LAN. A datagram includes not only communication information to be transferred, but also communication network addresses (which are the Internet Protocol (IP) addresses if communications are made by the IP), such as a source address and a final destination address. By using the address information, the router determines its network interface through which the datagram is to be output and a next-hop nodes (a router or a host) to which the datagram is to be transferred.
In a typical conventional router, upon receiving from a LAN a datalink layer frame (for example, a Media Access Control (MAC) frame or an Asynchronous Transfer Mode (ATM) cell) defined by a datalink layer (for example, the MAC layer or the ATM layer), datalink layer processing is performed on the received frame, and then, the frame is converted into a packet (datagram) that can be handled in the network layer. Subsequently, the router determines, based on the network layer address of the final destination described in the datagram, the output interface of the router through which the datagram is to be output and the network layer address of the next-hop node to which the output datagram is to be transferred. The router then delivers the datagram to the determined output interface. The output interface determines the datalink layer address from the network layer address of the next-hop node, and constructs a datalink layer frame and outputs it to a LAN.
The conventional router transfers communication information according to the above-described procedure. In other words, after converting the received datalink layer frame into network layer packet, the router refers to the content of the packet, such as the final destination address and the source address, and then determines, based on the network layer routing table stored in the router, the output interface and the next-hop node to which the packet is to be transferred. Afterwards, the router re-converts the network layer packet into a datalink layer frame and then outputs it toward the next-hop node.
During the above transfer operation, a heavy load of processing is imposed on the router, such as conversion from the received datalink layer frame into a network layer packet, search through the network layer routing table, and re-conversion from the packet into a datalink frame, thereby increasing the processing time required for transferring the received datalink layer frame land the processing load within the router.
In order to reduce the processing load in the router, the following method has been proposed in which the next-hop node is determined in the datalink layer without referring to network layer information described In the packet. This transfer method is sometimes referred to as the xe2x80x9ccut-through transferxe2x80x9d, xe2x80x9clabel switchingxe2x80x9d, or xe2x80x9cdatalink-layer switchingxe2x80x9d.
In a shared-media network, such as the Ethernet, there are two types of methods for implementing the xe2x80x9ccut-through transferxe2x80x9d function.
In one method, a specific field having a few bytes is installed between the datalink header of the MAC frame and network protocol data such as the IP data (See Y. Rekhter et al., xe2x80x9cTag Switching Architecturexe2x80x94Overviewxe2x80x9d, IETF Internet Draft draft-rekhter-tagswitch-arch-00.txt, January 1997). Then, a virtual identifier (corresponding to a xe2x80x9clabelxe2x80x9d, which will be described later) assigned in correspondence with a network layer packet flow (defined by, for example, the final destination information, or a combination of the destination information and the source information) is filled in the specific field, thereby determining the next-hop node based on the datalink layer frame itself (i.e., switching the frame in the datalink layer). According to this method, since a specific field is installed in a payload of the MAC frame, the length of the network protocol data in the frame which is to be transferred by using this xe2x80x9ccut-throughxe2x80x9d function is shorter than that in a typical frame whose next-hop node is to be determined in the network layer. It is thus necessary to re-adjust and modify the length of the datagram in the network layer in order to implement the aforementioned cut-through transfer function.
In the other method, the above-described virtual identifier is written into the MAC address (See U.S. patent application Ser. No. 08/941,735 now U.S. Pat. No. 6,188,689). In this method, it is necessary to newly learn the MAC address which is actually the virtual identifier in the router or the host. This learning may also be necessary in a bridge device, an Ethernet switch, etc. in the shared-media network.
To implement the cut-through function in a virtual-connection network, such as an ATM network, a virtual connection within a LAN, which is supposed to transfer frames by the cut-through method, is uniquely identified by the nodes located at both ends of the virtual connection. After this identification of the virtual connection is completed in the both nodes, frames are transmitted and transferred by using the virtual connection corresponding to the network layer packet flow to which the frames belong. If an ATM switch is provided within the LAN (i.e., between an upstream node and a downstream node of one virtual connection), the ATM switch converts the Virtual Path Identifier/Virtual Connection Identifier (VPI/VCI) used in the ATM and, as a result, the upstream node and the downstream node cannot identify the virtual connection as the common value. To identify the virtual connection uniquely even in this kind of situation, there may be two methods available for sharing the virtual connection identifier by the two neighboring nodes.
In one method, an identifier that can be shared by the two neighboring nodes is sent through the virtual connection itself (i.e. the common identifier is sent by an inband message) (See K. Nagami et al., xe2x80x9cFlow Attribute Notification Protocol (FANP) Specificationxe2x80x9d, IETF Internet Draft draft-rfced-info-nagami-00.txt, February 1997). In this method, since a message including the identifier of the connection is sent onto the connection itself, the following problem is encountered, for example, when a point-multipoint connection is used in a switching function of the router. In this case, when a new leaf is added to an existing cut-through connection, the cut-through transfer operation is required to be temporarily halted in order to send a message including the common identifier onto the cut-through connection.
In the other method, a formal common identifier of a target virtual connection can be finally shared by the two neighboring nodes according to the following two steps of operation (See U.S. patent application Ser. No. 09/038,159). A provisional common identifier whose size is shorter than that of the formal common identifier is initially shared by the two neighboring nodes, by writing the provisional common identifier into a field, which can be freely used by an user, in a signaling message for setting the target virtual connection. Then, a message for correlating the provisional identifier and the formal identifier of a sufficient length is sent onto a connection other than the target virtual (i.e., by an out-band message). This method is free from the problem encountered by the in-band message method. However, when the point-multipoint connection is used in a switching function of the router, the provisional identifier may need to be locked for a new leaf, which may be added to the existing connection later. In this case, there may become no more provisional identifier available for a new connection to be set.
It is therefore an object of the present invention to provide a mechanism for enabling a router that connects shared-media networks, such as the Ethernet, to do the datalink-layer switching for high-speed, low-latency packet transfer, without needing to readjust or modify the packet length or to learn additional MAC addresses.
Another object of the present invention is to provide a mechanism for enabling a router that connects virtual-connection networks, such as ATM networks or frame relays, to use a signaling message itself for notifying a neighboring node of a common identifier of a sufficient size which identifies a virtual connection established by the signaling message and connected with the neighboring node, thereby realizing the datalink-layer switching through the established virtual connection.
According to one aspect of the present invention, there is provided a network interconnection apparatus (a router) comprising al memory for storing an identifier for identifying a packet-flow to which a datalink frame belongs and a datalink-layer address of a next-hop node to which the datalink frame belonging to the packet-flow is to be transferred; a receiving unit for receiving a datalink frame from one network; and a transfer unit for
1) examining information described in a prescribed portion (for example, an Organizationally Unique Identifier (OUI) field, whose value is assigned to an organization) within an upper-layer-protocol identifying information region (for example, a Sub-Network Access Point (SNAP) field) of the frame received by the receiving unit,
2) obtaining, when the information examined indicates that a datalink-layer switching (in other words, a frame transfer bypassing the network-layer processing) is to be performed, a datalink-layer address of a next-hop node corresponding to a packet-flow to which the frame received by the receiving unit belongs by referring to the memory based on information described in a remaining portion (for example, a Packet IDentifier (PID) field, which can be individually used according to a protocol created by the organization acquired the above OUI) other than the prescribed portion within the upper-layer-protocol identifying information region,
3) writing the datalink-layer address obtained into a destination address region of the frame, and
4) outputting the frame to another network.
With this arrangement, the information indicating whether the datalink-layer switching (cut-through transfer) is to be performed, and the identifier to be used in this datalink-layer switching, both can be carried while being included in the upper-layer-protocol identifying information region of the datalink frame, and then the length of the network protocol data (payload of the MAC frame) can be fixed irrespective of whether the datalink frame is to be transferred by the datalink-layer switching or the conventional network-layer processing. This eliminates the necessity of re-adjusting or modifying the maximum packet size, on performing the cut-through transfer. Also, regardless of whether the datalink-layer switching or the conventional network-layer processing is performed, the datalink-layer address (for example, the MAC address) of the source node (its own MAC address for the frame-outputting router/host) and the datalink-layer address of the next-hop node are written into the address regions of the datalink frame. That is, it is unnecessary for the node or the bridge to learn additional address information specially for the datalink-layer switching. As a whole, the cut-through transfer can be realized more easily and efficiently according to the present invention.
Information for identifying a packet-flow to which each datalink frame belongs may be referred to as a xe2x80x9clabelxe2x80x9d. According to the principle of the present invention, a label may be formed by a destination MAC address and the above-described PID field, or by a source MAC address and the PID field. By exchanging a message for correlating the label and the packet-flow represented by the label between the router and an upstream node, the router is able to store in the memory the correlation between the identifier (the label or a part of the label) for identifying the packet-flow and the datalink-layer address of the next-hop node toward which the frame of the packet-flow is to be transferred.
In a case (I) where the label is formed by the destination MAC address and the PID field, the information described in the PID field alone is sufficient to perform datalink-layer switching by identifying in the datalink layer the packet-flow to which the received frame belongs.
The above-described label is assigned between the router and the upstream node. If another label is assigned between the router and a downstream node in the case (I), the memory of the router may further store another identifier (downstream identifier) for allowing the next-hop (downstream) node to identify the packet-flow in the datalink layer in correspondence with the aforementioned identifier (upstream identifier) for the router to identify the packet-flow. This another identifier and the MAC address of the next-hop node form a downstream label. The transfer unit of the router may also write information indicating that a datalink-layer switching is to be performed into the prescribed portion (for example, the OUI field) in the upper-layer-protocol identifying information region of the frame, and also write the above another identifier into the remaining portion (for example the PID field) in the upper-layer-protocol identifying information region of the frame.
In this case (I), if there are a plurality of upstream nodes, the information described in the PID field may preferably be stored so that each packet-flow transferred from each upstream node is uniquely identified only by referring to the information of the PID field.
In a case (II) where the label is formed by the source MAC address and the PID field, not only the information described in the PID field but also the source MAC address (this combination forms an upstream label) are used in performing datalink-layer switching by identifying in the datalink layer the packet-flow to which the received frame belongs. That is, the transfer unit may refer to the memory by utilizing, as the identifier, a combination of the information stored in the remaining portion of the upper-layer-protocol identifying information region of the frame and the datalink-layer address of the previous-hop (upstream) node described in the source address region of the frame.
If another label is assigned between the router and a downstream node in the case (II), the memory of the router may further store another identifier (downstream identifier) for allowing the next-hop (downstream) node to identify the packet-flow in the datalink layer in correspondence with the aforementioned identifier (upstream identifier) for the router to identify the packet-flow. This another identifier and the MAC address of the router form the downstream label. The transfer unit of the router may also write information indicating that a datalink-layer switching is to be performed into the prescribed portion (for example, the OUI field) in the upper-layer-protocol identifying information region of the frame, write the above another identifier into the remaining portion (for example, the PID field) in the upper-layer-protocol identifying information region, and also write a datalink-layer address of the router into the source address region of the frame.
In this case(II), if there are a plurality of upstream nodes, the information described in the PID field may preferably be stored so that each packet-flow transferred from each upstream node is uniquely identified by a combination of the information of the PID field and the source MAC address.
According to another aspect of the present invention, there is provided a network interconnection apparatus (a router) comprising a receiving unit for receiving a signaling message for establishing a first virtual connection from a previous-hop node; a first registering unit for
1) examining information described in a prescribed portion (for example, the OUI field) of a network-layer-protocol identifying information region (for example, the SNAP field in a Broadband Low Layer Information (B-LLI) L3 field) of the signaling message received by the receiving unit, and
2) registering, when the information examined indicates that a datalink-layer switching (in other words, a frame transfer bypassing the network-layer processing) is to be performed, a first connection identifier (for example, a Virtual Connection IDentifier (VCID)) for identifying the first virtual connection in common with the previous-hop node by extracting information described in a remaining portion (for example, the PID field) other than the prescribed portion within the network-layer-protocol identifying information region; a second registering unit for
3) exchanging with the previous-hop node a flow-notifying message for correlating the first connection identifier and a packet-flow to be transferred through the first virtual connection, and
4) registering a correspondence between the first virtual connection and a second virtual connection to a next-hop node of the packet-flow indicated by the flow-notifying message; and
a transfer unit for transferring a frame received from the first virtual connection onto the second virtual connection by referring to the correspondence registered.
With this arrangement, by referring to the network-layer-protocol identifying information region in a received signaling message for establishing a virtual connection between the router and a neighboring node, the router is able to determine whether this virtual connection is to be established for the purpose of the datalink-layer switching (cut-through transfer) or for another purpose (for example, a network-layer transfer such as Classical IP over ATM). The signaling message also contains a sufficient length of a connection identifier (for example, a VCID) enabling both the router and the neighboring node to identify the virtual connection for the datalink-layer switching in common. Thus, by exchanging with the upstream node a flow-notifying message for correlating the virtual connection represented by the VCID (a kind of xe2x80x9clabelxe2x80x9d) notified by the signaling message and the corresponding packet-flow, the router is able to perform datalink-layer switching between the upstream virtual connection, which is dedicated to the packet-flow notified by the flow-notifying message, and a downstream virtual connection onto which this packet-flow is to be transferred.
If it is desired that the downstream virtual connection also be dedicated to the aforementioned packet-flow, the router may further comprise a transmitting unit for transmitting, in order to establish the second virtual connection to the next-hop node, a signaling message in which information indicating that the datalink-layer switching is to be performed is described in the prescribed portion (for example, the OUI field) of the network-layer-protocol identifying information region, and in which the second connection identifier for identifying the second virtual connection in common with the next-hop node is described using the remaining portion (for example, the PID field) of the network-layer-protocol identifying information region. The second registering unit may also transmits to or receives from the next-hop node a flow-notifying message for correlating the second connection identifier and the packet-flow to be transferred through the second virtual connection.
According to this second aspect of the present invention, as well as the first aspect of the present invention, the label (VCID) may be formed by a destination link address (for example, a destination ATM address) of the signaling message and the above-described PID field. Alternatively, the label (VCID) may be formed by a source link address (for example, a source ATM address) and the above-described PID field.
Here, only part (for example, the MAC address, which is uniquely assigned to the terminal) of the ATM address may be employed as the link address which constitutes the label.
In the router which may receive signaling messages containing different address formats, the address format type (which indicates whether the destination/source link address of the signaling Message is, for example, the ATM address or the E.164 address) may be included in the link address which constitutes the label.
In a case (I) where the destination link address is utilized in the label (VCID), the first registering unit of the router may register Was the first connection identifier the information in the PID field alone, or a combination of the information in the PID field and its own link address (which is described in the destination link address field of the signaling message from the upstream node).
If a downstream dedicated virtual connection is to be established in the case (I), the router determines as the second connection identifier a combination of a link address of the downstream node and information in the PID field which are to be written in the signaling message to the downstream node.
In a case (II) where the source link address is utilized in the label (VCID), the first registering unit may register as the first connection identifier a combination of the information described in the PID field and a link address of the upstream node (which is described in the source link address field of the signaling message from the upstream node).
If a downstream dedicated virtual connection is to be established in the case (II), the router may write its own link address into the source link address field of the signaling message to the downstream node as constituting the second connection identifier.
According to the first aspect of the present invention, datalink-layer switching is performed by reading the label or a part of the label. On the other hand, according to the second aspect of the present invention, datalink-layer switching may be performed, not by reading the VCID (label), but by reading an identifier described in the header of the datalink frame transferred through the virtual connection, for example, VPI/VCI (which will be converted at a datalink switch interposed on the virtual connection connecting the neighboring nodes). Accordingly, the second registering unit may register, as the correspondence between the first virtual connection and the second virtual connection, information (for example, VPI/VCI) described in a connection identifying information region of the upstream signaling message for establishing the first virtual connection and information (for example, VPI/VCI) described in a connection identifying information region of the downstream signaling message for establishing the second virtual connection, instead of the first connection identifier and the second connection identifier.
According to the first aspect of the present invention (corresponding to the shared-media network) and the second aspect of the present invention (corresponding to the virtual-connection network), in exchanging a message for correlating a label and a packet-flow represented by the label between neighboring nodes, the same type of message (label) format can be used. This type of label format defined by the principle of the present invention can also be used in a case where the neighboring nodes are connected by a point-to-point physical link that accommodates virtual connections. In this case, the VPI/VCI may be used as a label, and the VPI and VCI may be written into the link address and the PID field, respectively, of the same type of message format.
According to yet another aspect of the present invention, there is provided a frame transfer method comprising the steps of: storing in a memory an identifier for identifying a packet-flow to which a datalink frame from one logical network belongs and a datalink-layer address of a next-hop node in another logical network to which the datalink frame belonging to the packet-flow is to be transferred; receiving from said one logical network a datalink frame in which information described in a prescribed portion of an upper-layer-protocol identifying information region indicates that a datalink-layer switching is to be performed; writing the datalink-layer address obtained from the memory, by using information described in a remaining portion other than the prescribed portion of the upper-layer-protocol identifying information region as the identifier, into a destination address region of the received frame; and transmitting the frame to said another logical network.
According to yet another aspect of the present invention, there is provided a frame transfer method comprising the steps of: receiving a signaling message in which information described in a prescribed portion of a network-layer-protocol identifying information region indicates that a datalink-layer switching is to be performed, the signaling-message for establishing a first virtual connection from a previous-hop node; obtaining a first connection identifier for identifying the first virtual connection in common with the previous-hop node, by using information described in a remaining portion other than the prescribed portion of the network-layer-protocol identifying information region; receiving from and/or transmitting to the previous-hop node a flow-notifying message including the first connection identifier, the flow-notifying message for notifying a packet-flow to be transferred through the first virtual connection; storing in a memory information for switching the first virtual connection with a second virtual connection to a next-hop node of the notified packet-flow; and transferring a frame received from the first virtual connection onto the second virtual connection in accordance with the information stored in the memory.
According to yet another aspect of the present invention, there is provided a computer usable medium having computer readable program code embodied therein for a computer functioning as a network interconnection device which transfers datalink frames from one network to another network, the computer readable program code includes: first computer readable program code for causing said computer to register in a memory an identifier for identifying a packet-flow to which a datalink frame belongs and a datalink-layer address of a next-hop node to which the datalink frame belonging to the packet-flow is to be transferred; second computer readable program code for causing said computer to receive a frame in which information described in a prescribed portion of Ian upper-layer-protocol identifying information region indicates that a datalink-layer switching is to be performed; and third computer readable program code for causing said computer to write the datalink-layer address retrieved from the memory according to information described in a remaining portion other than the prescribed portion of the upper-layer-protocol identifying information region, into a destination address region of the received frame to be transferred.
According to yet another aspect of the present invention, there is provided a computer usable medium having computer readable program code embodied therein for a computer functioning as a network interconnection device which transfers datalink frames from a first virtual connection onto a second virtual connection, the computer readable program code includes: first computer readable program code for causing said computer to receive a signaling message in which information described in a prescribed portion of a network-layer-protocol identifying information region indicates that a datalink-layer switching is to be performed, the signaling message for establishing the first virtual connection from a previous-hop node; second computer readable program code for causing said computer to obtain a first connection identifier for identifying the first virtual connection in common with the previous-hop node, by using information described in a remaining portion other than the prescribed portion of the network-layer-protocol identifying information region; third computer readable program code for causing said computer to exchange with the previous-hop node a flow-notifying message including the first connection identifier, the flow-notifying message for notifying a packet-flow to be transferred through the first virtual connection; and fourth computer readable program code for causing said computer to register information for switching the first virtual connection with a second virtual connection to a next-hop node of the notified packet-flow.
Other features and advantages of the present invention will become apparent from the following description taken in conjunction with the accompanying-drawings.
Both the foregoing general description and the following detailed description provide examples consistent with this invention and explain how to make and use systems, methods, and articles of manufacture consistent with the invention. These descriptions do not restrict the claimed invention.